package com.bestcem.xm.label.service.dto;

import com.bestcem.xm.label.entity.pojo.LabelGroupDO;
import com.bestcem.xm.label.service.dto.label.LabelDTO;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
import java.util.Objects;

/**
 * @author ming.xue <ming.xue@idiaoyan.com>
 * @desc 标签组
 * @date 2021-05-19
 */
@Getter
@Setter
public class LabelGroupDTO extends BaseDTO {
    private String orgId;

    private String name;

    private Integer serial;

    private Integer attribute;

    private List<LabelDTO> labelDTOS;

    /**
     * LabelGroupDO -> LabelGroupDTO
     *
     * @param labelGroupEntity LabelGroupDO
     * @return LabelGroupDTO
     */
    public static LabelGroupDTO convert(LabelGroupDO labelGroupEntity) {
        LabelGroupDTO dto = new LabelGroupDTO();

        if (Objects.isNull(labelGroupEntity)) {
            return dto;
        }

        dto.setId(labelGroupEntity.getId());
        dto.setOrgId(labelGroupEntity.getOrgId());
        dto.setName(labelGroupEntity.getName());
        dto.setSerial(labelGroupEntity.getSeq());
        dto.setAttribute(labelGroupEntity.getMemberType());

        if (Objects.nonNull(labelGroupEntity.getCreateTime())) {
            dto.setCreateTime(labelGroupEntity.getCreateTime());
        }
        if (Objects.nonNull(labelGroupEntity.getUpdateTime())) {
            dto.setUpdateTime(labelGroupEntity.getUpdateTime());
        }

        return dto;
    }

}
